The present disclosure is directed generally to emulators and, more particularly, to emulators used for wireless-network environments
As wireless network deployment and use become ubiquitous, it is increasingly important to make efficient use of the finite bandwidth provided. Unfortunately, research aimed at evaluating and improving wireless network protocols is hindered by the inability to perform repeatable and realistic experiments.
Techniques that have proven successful for analyzing wired networks are inadequate for analyzing wireless networks since they are fundamentally different. While the physical layer can frequently be ignored in wired networks, in wireless networks the physical layer fundamentally affects operation at all layers of the protocol stack in complex ways. Links are no longer constant, reliable, and physically isolated from each other, but are variable, error-prone, and share a single medium with each other and with external uncontrolled sources. As a result, traditional methods of experimentation have difficulty satisfying the needs of wireless researchers.
An ideal method of wireless experimentation would possess the following properties: repeatability and experimental control, layer 1-4 realism, the ability to run real applications, configurability, the ability to modify wireless device behavior, automation and remote management, support for a large number of nodes, isolation from production networks, and integration with wired networks and testbeds. We now discuss how alternative methods of experimentation fare with respect to this list of desirable properties.
The most direct method of addressing realism is to conduct experiments using real hardware and software in various real world environments. Unfortunately, this approach faces serious repeatability issues because the behavior of the physical layer is tightly coupled to the physical environment and precise conditions under which an experiment is conducted. The mobility of uncontrolled radio sources, physical objects, and people makes these conditions nearly impossible to reproduce. It is also difficult to avoid affecting co-located production networks. Moreover, configurability and management of even a small number of mobile nodes distributed in three dimensions is cumbersome; this lack of manageability also makes integration with external networks problematic.
For these reasons, many researchers have understandably embraced simulation as a means of evaluation. This approach solves the problem of repeatability, configurability, manageability, modifiability, and (potentially) integration with external networks, but faces formidable obstacles in terms of realism. Wireless simulators are confronted with the difficult task of recreating the operation of a system at all layers of the network protocol stack as well as the interaction of the system in the physical environment. To make the problem tractable, simplifications are typically made throughout the implementation of the simulator. Even fundamental tasks such as deciding what a received frame looks like diverge greatly from the operation of real hardware. See Takai et al. “Effects of Wireless Physical Layer Modeling in Mobile Ad Hoc Networks”, Proc. of MobiHoc 2001, October 2001.
In addition, while wireless technology is undergoing rapid advances, wireless simulators, in particular open source wireless simulators, have lagged significantly behind these advances as discussed below. For several years now, ns-2 has been the de facto standard means of experimental evaluation for the wireless networking community. See, S. McCanne and S. Floyd. UCB/LBNL/VINT Network Simulator—ns (version 2), April 1999. Yet ns-2's wireless support has not kept pace with current technology, and is targeted towards the original 802.11 standard developed in 1997. Even this support, however, is inexact as ns-2 does not support automatic rate selection, uses a non-standard preamble, and contains an incorrect value for 802.11 ACK timeout value. In addition, ns-2's physical layer is particularly simple. See Takai, et al, supra. As a result, some researchers are opting to use commercial simulators such as QualNet [Scalable Network Tech. Qualnet] and OpNet [OPNET Tech. Opnet] because they claim better support for current standards. Despite these claims, however, it is unclear how well these simulators reflect actual hardware.
The aforementioned issues with simulators, and a desire to avoid long simulation times, have caused some researchers to adopt emulation as a means of evaluation. Emulation retains simulation's advantages of repeatability and manageability, while potentially mitigating the issue of realism. Unfortunately, as discussed below, with the exception of a few very small-scale emulators, and emulators hardwired to a particular physical location, these emulators have typically adopted extremely simplified MAC and physical layers. As the operation of these layers is fundamental to the operation of a wireless network, it is unclear that these emulators gain any realism over existing simulators.
Emulation has proven to be a useful technique in wired networking research, and it has an even larger potential in the wireless domain. See, B. White, J. Lepreau, L. Stoller, R. Ricci, S. Guruprasad, M. Newbold, M. Hibler, C. Barb, and A. Joglekar. An integrated experimental environment for distributed systems and networks. Proc. of OSDI 2002, December 2002; A. Vahdat, K. Yocum, K. Walsh, P. Mahadevan, D. Kostic, J. Chase, and D. Becker. “scalability and accuracy in a large-scale network emulator”. Proc. of OSDI 2002, December 2002.
A common approach that has been taken for wireless emulation is to capture the behavior of a wireless network in terms of parameters such as capacity and error rates and then use a wired network to emulate this behavior. This has the advantage of allowing the use of real endpoints running real applications in real time. The wireless MAC and physical layers, however, are only very crudely simulated. For this reason, it is unclear whether or not this approach can obtain more realistic results than pure simulation. See, B. Noble, M. Satyanarayanan, G. Nguyen, and R. Katz. Trace-based mobile network emulation. Proc. of SIGCOMM 1997, September 1997; P Mahadevan, K. Yocum, and A. Vahdat. Emulating large-scale wireless networks using modelnet. Poster and Abstract Mobicom 2002, September 2002; T. Lin, S. Midkiff, and J. Park. A dynamic topology switch for the emulation of wireless mobile ad hoc networks. Proc. of the 27th Annual IEEE Conference on Local Computer Networks (LCN'02), November 2002.
More recently efforts have been made to develop RF emulators that accurately emulate down to the physical layer. RAMON [E. Hernandez and S. Helal. “ramon: Rapid mobility network emulator”. Proc. of the 27th IEEE Conference on Local Computer Networks (LCN'02), November 2002. ] uses three programmable attenuators to allow emulation of the signals between a single mobile node and two base stations. While useful for the intended application of mobile IP roaming investigation, the inability to independently control all signal paths and the cost of programmable attenuators severely limits this approach.
B. White, J. Lepreau, and S. Guruprasad. Lowering the barrier to wireless and mobile experimentation. Proc. of HotNets-I, October 2002, proposes extending Emulab into the wireless domain using either fixed wireless nodes scattered in a building or passive carriers to carry wireless nodes. Clearly this approach can achieve a high degree of realism, but has serious obstacles in terms of control and repeatability (because this is essentially a wireless testbed). As there can be significant uncontrolled interference, this approach can only hope to achieve what the authors term “coarse repeatability”. In contrast, our approach allows for far greater control and repeatability.
The most functionally similar approach to the wireless emulator that we have developed is provided by commercial channel emulators. See, PROPSim. Propsim c8 wideband multichannel simulator, Spirent Communications. Tas4500 flex5 rf channel emulator. The goal of these emulators, however, is quite different. Rather than supporting emulation of all channels in a wireless network (hundreds of channels may be required), commercial channel emulators are designed to support very fine-grained emulation of the wireless channel between either a pair of devices or between a small number of base stations and a small number of mobile devices (with the total of both being less than the maximum number of channels which is typically no more than eight). Moreover, channel emulators require the addition of external components to support half-duplex transceivers that are common in wireless data networks. Although channel emulators are useful for equipment vendors evaluating a new device, the limited scale, lack of support for complete interaction between all nodes, and lack of support for half-node duplex nodes make commercial channel emulators an unattractive option for wireless network emulation.